safety software security c++ embedded radius3 osha benchmarking java metrics .net application metrics fire java embedded systems j2ee linux data thin-client best practices